//#include <iostream>
//using namespace std;
//const int N = 1e6 + 10;
//int n;
//int l[N], r[N];
//int dfs(int t)
//{
//	if (t == 0)
//		return 0;
//	int a = dfs(l[t]);
//	int b = dfs(r[t]);
//	return max(a, b) + 1;
//}
//int main()
//{
//	cin >> n;
//	for (int i = 1;i < n;i++)
//	{
//		cin >> l[i] >> r[i];
//	}
//	int tmp = dfs(1);
//	cout << tmp;
//
//	return 0;
//}